Golden Sun Hacking Community
Hello Luna_blade 28 May 2014, 16:51:20 *
Show unread posts since last visit.
Show new replies to your posts.
Total time logged in: 2 days, 8 hours and 47 minutes.
News:
 
  Home   Forum   DC Wiki Help Search Profile My Messages Shop Calendar Members Downloads Logout  
Pages: [1] 2 3   Go Down
  Mark unread  |  Print  
Author Topic: I'm going to code something from scratch. Tell me what to code.  (Read 2631 times)
Luna_blade and 0 Guests are viewing this topic.
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« on: 05 January 2014, 06:15:43 »
0 Vote Down Vote Up

Just as an experiment, I want to start coding small stuff that might eventually turn into a Golden Sun style game.  And I want people to be able to hack it.  And I want to be able to show my stuff off TO YOU GUYS, so you know it's hackable, right from the beginning. So what's the first component I should try and build, to show off?  No promises, but it gives me something to work towards. Eventually, who knows if it might end up as a GoldenSun-style game, and something that could be used for a community project.

Initially, I had wanted to make a simple conversation engine, where I stored and loaded lines of text.  I figured it'd be enough of a challenge to store and navigate conversation trees.  Basically, there'd be a red room, a green room, and a blue room.  Within each room there'd be a number of NPCs to talk to, and I basically wanted to come to you guys for ideas for a simple script, or simple types of puzzles that would have to do just with conversation.  I.e. talk to person A, to unlock a conversation option with person B, etc etc.  This isn't the kind of stuff I normally do, but I figure you guys are all into stories and RPGs, and would be better suited to it.

(I was inspired a bit by the following concept)
squidi.net

But then I figured, "hey, maybe they care more about battle systems and stuff."  And that sort of got me thinking of other stuff I could try and do, such as reproduce battle animations in classic GoldenSun.  Then again, there's *no way* I could do the 3D stuff they do in Dark Dawn.

TL;DR:  What's the first thing I should try and make, that might be a small step towards a community project?
Logged
View Profile Personal Message (Offline)
Teawater
Mercury Clan

Veteran Member
*

Coins: 99
[increase]
Send Money
Online Online

I am: Giving you the juicer. *Hands out teawater.*
Clan Position: Head Gallant
Posts: 1465

Respect: +117
« Reply #1 on: 05 January 2014, 06:54:48 »
0 Vote Down Vote Up

Which coding language were you planning to use? (Assuming you are working on an entirely new project that isn't on the GBA.)

Quote
I.e. talk to person A, to unlock a conversation option with person B, etc etc.  This isn't the kind of stuff I normally do, but I figure you guys are all into stories and RPGs, and would be better suited to it.
That means Person A will turn on Flag A. For Person B, if Flag A is off, he has one dialogue, if on, he has a different dialogue. (Or both, depending on how you do it.) (Which I think is simple to understand.)
« Last Edit: 05 January 2014, 06:56:46 by Teawater » Logged

You won't find it in the guilts of yesterday.
You won't find it in the fears of tomorrow.
You'll find it in today, right now. The miracle is in the moment.
"Click here, you know you want to!"
View Profile Email Personal Message (Online)
charleysdrpepper@hotmail.com
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #2 on: 05 January 2014, 07:06:19 »
0 Vote Down Vote Up

I think I'll be using LÖVE, which is..., well, just check the wiki and look at "getting started" if you're curious.  

"As you probably know by now, LÖVE is a framework for making 2D games in the Lua programming language. LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones."

I'm choosing this because
1) how easy it is to make pictures appear on screen.
2) It doesn't need a compiler.  Basically drag a game folder over the love icon to make the game run.
3) to make a game program that will run when clicked, put the stuff in the folder in a .zip file, and simply change from .zip to .love. (though I think you have to have love2d installed for this to work).
4) to look inside a .love game, just turn .love to .zip, and then unzip.  Then you can change whatever you want in there.  It's perfect for hacking.

And really what little I've done has been super easy.  Easy to code, easy to hack...  At least that's my expectation, and hopefully you guys help me test that.

EDIT:
to use it, in addition to downloading the latest version of love2d, all you'd need is
1) NotePad++ (notepad-plus-plus.org)
2) 7-Zip (7-zip.org)

So those are all free, and you don't need an impressive computer to use them.
« Last Edit: 05 January 2014, 07:10:09 by Thunder-squall » Logged
View Profile Personal Message (Offline)
Teawater
Mercury Clan

Veteran Member
*

Coins: 99
[increase]
Send Money
Online Online

I am: Giving you the juicer. *Hands out teawater.*
Clan Position: Head Gallant
Posts: 1465

Respect: +117
« Reply #3 on: 05 January 2014, 07:30:27 »
0 Vote Down Vote Up

Huh... Works on Windows, Mac, and Linux. Sounds like a plan.

I might still use Java for my Editor, though, since more people are likely to have it. (I think.) At the very least, the project could also reach out to those people who can't install stuff on their computers. (Ofcourse, I don't know of anyone with such a disadvantage that would be interested in the GS Editor at this time.)

Edit: No wait, the Zip version is not an installer.
« Last Edit: 05 January 2014, 08:10:19 by Teawater » Logged

You won't find it in the guilts of yesterday.
You won't find it in the fears of tomorrow.
You'll find it in today, right now. The miracle is in the moment.
"Click here, you know you want to!"
View Profile Email Personal Message (Online)
charleysdrpepper@hotmail.com
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #4 on: 05 January 2014, 08:28:33 »
0 Vote Down Vote Up

hey, that sounds awesome.  Keep doing what you're doing.  The worst thing a community project can do is stop people from doing what they're doing, and my goal is quite the opposite of that.  It's really for people who aren't really active right now, or who feel they have no way to be active.
--
[TL;DR:  Basically, the goal is to make a system where people can "program" scenes by simply changing the text file which contains the dialogue.]

I've already started putting effort into the dialogue thing, so I think that's going to be my first project.  I think the optimal way to document conversations or scenes would be in text(txt) files, which look like

[angry] person A:  I'm Angry!
[concerned] person B: Why are you Angry?
[scared] person B: It's not because of .. the pie, .. is it?

So I think this is easy and intuitive to read, and conveys a lot of the necessary information required to put stuff on screen, but there's probably stuff I haven't thought about.

How I expect to read the scene
The text between ']' and ':' will indicate the speaker, and which set of portraits to use.  The text between the '[]' will indicate which of the portraits to use.  The text after the ':' will of course be what's output on screen.  I figure that symbols like the ".." can be used to create a pause in how fast the text is typed on screen.

Components of the text box
1. Frame:  includes the text box, as well as whatever image might denote the speaker.  This could be as a text box that appears above characters as speech bubbles, or text boxes with square avatars in them, or perhaps something more like Persona or Disgaea.
2. Text:  whatever string of dialogue needs to be written out.
3. Choice:  This could be an arrow to move onto the next line of text, or a series of options which players may choose from.

(If there's better terminology out there, let me know.  I don't want to reinvent conventions if I don't have to)

what I need from lurkers
A design or conceptual framework for the Frame, Text, and Choice.  And maybe even a sample scene, and some sample images.

How to handle questions, or forks in dialogue trees

Basically, the goal is to make a system where people can "program" scenes by simply changing the text file which contains the dialogue.  Of course, there's stuff I haven't accounted for, such as forks in the dialogue tree.

So I want to ask you guys:  How would you expect to write dialogue via text files, in ways which a computer program would then read them? Maybe something like

[concerned]  Person A : what do you think?[?]
> I like bananas!
> I hate bananas!
> That's probably not a banana in his pocket...
3 4 6

So I figure that there could be a specific string (i.e. '[?]') which indicates that players may now make a selection.  The next lines that start with a '>' indicate a selection choice.  The last line after it indicates the three respective text files which each choice might then lead to.  So another thing to experiment with is just naming conventions, and how I want to organize folders.  I mean RPGs tend to have loads and loads of text and interactions...

what I need
get me a sample scene to work towards.  That includes whatever images and stuff.  Even sound.
« Last Edit: 05 January 2014, 08:32:58 by Thunder-squall » Logged
View Profile Personal Message (Offline)
Teawater
Mercury Clan

Veteran Member
*

Coins: 99
[increase]
Send Money
Online Online

I am: Giving you the juicer. *Hands out teawater.*
Clan Position: Head Gallant
Posts: 1465

Respect: +117
« Reply #5 on: 05 January 2014, 08:49:57 »
0 Vote Down Vote Up

@bananas:  Ironically, I have a Marie Callender's Banana Creme Pie right next to me, and I've been picking at it.

That could work, I guess. Maybe you could use a number, though. I.E. [?:1] , and whatever selection that is made can altar the storybook data. (Usually flags, but can contain indexes as well.)

Then you could have stuff like if [?:1] = 0: whatever you want. (Just an example.)

Not so sure jumping to other text files is a good idea?, since options like this could have many effects on other parts of the game as well.


And there's also this concept:

[happy] Toad: Which color Yoshi do you want?[?:1]
>Red
>Green
>Blue
[wink] Toad: One [?:1] Yoshi coming right up!

Again, just an example. So that might not be exactly the way it will look...
« Last Edit: 05 January 2014, 09:20:15 by Teawater » Logged

You won't find it in the guilts of yesterday.
You won't find it in the fears of tomorrow.
You'll find it in today, right now. The miracle is in the moment.
"Click here, you know you want to!"
View Profile Email Personal Message (Online)
charleysdrpepper@hotmail.com
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #6 on: 05 January 2014, 09:34:41 »
0 Vote Down Vote Up


Not so sure jumping to other text files is a good idea?, since options like this could have many effects on other parts of the game as well.

In addition to pointing to text files with dialogue in it, I could also point to files with "chunks" in them.  Chunks are basically segments of code which I can load and then run.  I could experiment with using those to do just about anything I wanted.  Of course, one will have to know code to use these, but what can you do?

But see, right now we're talking in hypotheticals.  This is why I need someone to come up with a sample scenario.

And Ideally, I'd want to make a mock game that used mostly just the stuff we're making.

Idea for a game:
How about a kid in the Golden Sun world, running around the house before a festival, gathering supplies, picking decorations, and hearing stories of other things in the world?  Kind of like a sand-box graphic novel.
Logged
View Profile Personal Message (Offline)
Misery
Bad Luck

Great Member
***

Coins: 25
[increase]
Send Money
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 623

Respect: +74
« Reply #7 on: 05 January 2014, 14:22:43 »
0 Vote Down Vote Up

If you want to do something that would end up GS-styled, you could try recreating the debug rooms in TLA.
And I don't think "hackable" is the word you wanted to use. Since I assume you would give everyone access to the source, possibly an editor, etc. there would be no need to hack it.

But well, if you can do this... it might be the start of something great.
Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #8 on: 06 January 2014, 01:34:57 »
0 Vote Down Vote Up

you could try recreating the debug rooms in TLA.
I've never played The Lost Age (GS2).  Can you point me towards some sources where I can see what these are?

And I think using the word "hacking" nowadays is essentially a stylistic choice (i.e. how Mozilla encourages kids to 'hack'), but it's also... Well, I think the editors I make will be able to write text files to one, very specific location on peoples' machines (see love.filesystem, towards the top where it says "Each game is granted a single directory on the system where files can be saved through love.filesystem.").  And to include those in a game, people will have to copy-paste those files into their game folder.  At least if they then want to share those with others. 

So while the intent is for people to mod the game, it'll require some know-how, and a bit of hacking.  But sure, you can call it "modding" or customization if you'd like.
Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #9 on: 06 January 2014, 04:36:47 »
0 Vote Down Vote Up

I did a quick search for some sprites, and downloaded the complete pack from the golden sun syndicate (www.goldensun-syndicate.net/sprites).  It seems to be nicely organized, and I figure I'd try and maintain that file-structure since, well, they've already got it organized.

Is there another set of sprites I should be using instead, or is that source legit?
Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #10 on: 07 January 2014, 05:41:08 »
+1 Vote Down Vote Up

Is it ok to attach files like this, or do you guys discourage it due to memory limits, or whatever?

The attached image shows the current prototype of the map editor.  It focuses on elevation, because that's what I noticed that many of the puzzles in Dark Dawn were based on, i.e. climbing up trees, creating ice pillars, pushing blocks etc.

EDIT: this was made using the love2d.org framework.  I think I gave more info on it above.

what's in the image
Everything in the dark rectangle represents the editor.
1. Users can click directly on the lattice in the upper left corner in order to change the elevation of the cell, or change its color.
2. Users can select their edit mode:  change elevation, or change color.

The drawing to the right of the editor is a translated version of the editor lattice.  Right now it's drawn by the program using rectangles, but one could also (a) draw it using sprites, or (b) increase the sophistication with which the image is drawn, i.e. making it isometric, or pseudo 3D.

expected next steps
more info on the map
I want to be able to overlay symbols onto the editor-lattice.  The symbols will correspond to things such as
1. Is this cell climbable, like a tree [in Dark Dawn]?
2. Will this cell respond to X psionic power?
3. Is this cell occupied by column that can be pushed?
4. Is this cell occupied by a log that can be rolled?

player token
After that, I will implement a player token, and have the token traverse the setting.  It will be controlled using either arrow keys or WASD.  It should be able to hop across gaps that are short enough, AND hop up or down blocks that are close enough in elevation.

psionic powers
After that, I'll then be in a position to be able to implement and test movable objects, or psionic powers, and all that stuff.

regroup
It's around then when I expect I'll probably have to redo everything, in order to move forward in such a way that I can actually make a game.

long term goal (~1 year)
Create a game of puzzle dungeons.  These are basically the portion of Golden Sun games where you use psionic powers to get through dungeons and stuff.

the type of help I'd like
1.  At the very least, encouragement. Or  +1 the post if you want to remain a lurker.

2.  Advice. I'm going to have a limited number of cell-color options, and a limited number of terrain obstacles or psionic powers.  I need help on selecting what these few should be, in such a way that designers still have a full breadth of options when designing puzzle dungeons.

3. Beta testers.  Or rather, level designers.  You guys are essentially the end-users I'm designing for, and I want to create a program that'll let you do what you need to do.

4. Eventually, volunteer to be programmers.  Basically, if you don't like the way the grids look, or if you don't like the user interface, I'll let you know what basic code you need to know in order to fix this.  My code's pretty messy right now, but if I know that Person A really wants to fix Thing B, then that'll give me incentive to clean up Thing B.


* sample.png (12.42 KB, 798x598 - viewed 6 times.)
« Last Edit: 07 January 2014, 05:43:00 by Thunder-squall » Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #11 on: 07 January 2014, 08:45:04 »
0 Vote Down Vote Up

minor updates:
1. I've changed some aesthetic stuff and made the grids square, to resemble golden sun.
2. I've got the base design for the player token.  It's drawn in the program itself, so I can change parameters like the relative size of things, the flatness of the base, the colors, etc.

Stuff that's currently in the works:
I'm working on eyes that indicate the direction the token is facing, and I'm working on a generic wizard's hat.

thoughts on the immediate project:
The least amount of additional character detail I need for this project is a wizard's hat.  The color of the clothes will vary with the psionic power the player currently has selected.

thoughts on future projects
Next would be a battle system, which would require various characters of various classes.  I could use sprites to place hats, shields, and weapons on this base token design, as an easy and effective way to differentiate characters.  Or these could be drawn by the computer, in order to maintain the art-style of this prototype.  Either way, this is exactly the kind of stuff others could easily help with, without having to know how everything else looks.


* sample2.png (13.98 KB, 798x598 - viewed 3 times.)
Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #12 on: 08 January 2014, 00:50:12 »
0 Vote Down Vote Up

spamming my own thread.  I worked a bit more on the player token (see attachments; the first one's a gif that shows how the eyes move), but when I quickly sketched some hair options, they looked, in my opinion, pretty ugly.  If anyone wants to sketch or re-purpose some head gear for the template (also attached), I'll be able to add a character-editor that people can play with. I need *at least* two views:  diagonal forward (facing towards the player) and diagonal backwards (facing way from the player).


* bald1.gif (16.24 KB, 140x169 - viewed 4 times.)

* character template v0.png (7.35 KB, 366x237 - viewed 4 times.)
Logged
View Profile Personal Message (Offline)
Thunder-squall
Mercury Clan

Great Member
*

Coins: 1
[increase]
Send Money
Offline Offline

Posts: 538

Respect: +3
« Reply #13 on: 12 January 2014, 04:44:49 »
+1 Vote Down Vote Up

try some of this out, and let me know what you think.  Install LÖVE 0.9.0 from love2d.org


* 1 11 2014.png (40.91 KB, 729x447 - viewed 6 times.)
* color changer v0.love (1.1 KB - downloaded 1 times.)
* move chara v0.love (6.71 KB - downloaded 1 times.)
Logged
View Profile Personal Message (Offline)
Misery
Bad Luck

Great Member
***

Coins: 25
[increase]
Send Money
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 623

Respect: +74
« Reply #14 on: 12 January 2014, 15:35:13 »
0 Vote Down Vote Up

Excellent work, I'm seriously considering using something like this for my own project now.
Well then, about the character mover, some suggestions... (and observations)

Assuming you can't set the location of the pivot point on the map to be identical to the player coordinates:
-Always have that point in the center of the map.
-It would limit room building in that the room can't be bigger than the viewable area. Not that much of a limitation.

I suggest limiting the up/down camera rotation angle, if camera rotation along the X/Z axis should even be possible. Personally, I would restrict it to rotation around the Y axis (I think it should be obvious why, but tell me if you think I should elaborate).

The next step should be collision detection. I think the best way to do that would be: On pressing W/A/S/D, get the height of the tile you're about to move to, and compare the height of it to the height of the tile you're currently standing on. If the difference is too big, don't allow that movement. Preferrably allow a greater difference if the height of the destination tile is lower than the current tile, since you would normally expect dropping to be easier than climbing.

But of course, if you have some other solution in mind... my suggestions are just that, suggestions.

And a suggestion for the map editor: allow elevation to be shown by different shades. I think that would make it much easier to see what you're doing.

Also, I sketched up some hair for you, quick n' dirty, based on what you did on the template. You're welcome to use it for testing and what not if you want to (well, anyone is free to use it for whatever). The second picture has transparent background.


* hair1.png (17.71 KB, 366x237 - viewed 3 times.)

* hair2.png (3.54 KB, 366x237 - viewed 1 times.)
« Last Edit: 12 January 2014, 21:40:26 by Misery » Logged
View Profile Personal Message (Offline)
Pages: [1] 2 3   Go Up
  Mark unread  |  Print  
 
Jump to:  

Cbox
Today at 16:40:10
Luna_blade: @Saturos: Your english exams?
Today at 16:33:40
Teawater: Can't remember exactly what shae of yellow it was, so not sure it would be too close or not.
Today at 16:30:58
Teawater: @KoP: Wouldn't Shiny Gold be for the Sol Clan?
Today at 15:37:37
Salanewt: Oh wait, tag doesn't work down here. But yeah, how is your hack going Jamie?
Today at 15:37:00
Salanewt: [me] considers giving him the Sol Blade...
Today at 15:36:00
Salanewt: Oh my. To be honest though, I'd be more likely to give Briggs stuff from later regions; him being a pirate from another continent and all.
Today at 09:36:58
JamietheFlameUser: How not to design boss fights: give human-type bosses stats and equipment on par for what the Editor says their level is and what equipment is available where they're from. You get stuff like an actually scaled to level 21 Briggs with a Great Sword, Silver Plate, Silver Helm, Vambrace, and Leather Boots. God, that was BS.
Today at 09:09:49
Saturos: Wow first part of exam is ower (in english) tomorow speaking part.
Today at 07:11:35
JamietheFlameUser: Eh, I didn't know the exact chance of Curse screwing you over. Still, that 6% chance to fail to act at all could screw you over when it matters most. The obvious solution, of course, is to stick that armour on a character who doesn't do anything but spam attack moves anyway.
Today at 07:10:52
leaf: ...assuming I'm remembering the chance of curse taking effect correctly as 25%
Today at 07:09:50
leaf: in fact, you get two turns the majority of the time (~56%), and only completely fail to act ~6%, the remainder of the time getting one action
Today at 07:07:49
leaf: I like that stealth armor buff. it wouldn't make sense to do that with the clerics ring available, but if you remove that, it's actually an interesting item. On average, you get ~1.5 turns per round. it's potentially very strong, but carries risks
Today at 07:04:59
leaf: lol
Today at 06:39:21
JamietheFlameUser: Reading the Venus Psynergy topic and 'lol'ing at Role's reaction to a very simple spell idea I'd had (and still think is awesome), where rock explodes out of the ground from a single point in a focused, cone-shaped burst. Role read me the riot act about not combining elements again. lol.
Today at 06:17:58
JamietheFlameUser: Well, one thing I came up with that was actually potentially cool is a modification to the Stealth Armour. I gave it +1 turns, under the assumption that the Cleric's Ring would be removed. You might get 2 actions that round, or 1 action, or maybe no actions at all! RNG at its finest.
Today at 06:15:32
Knight of Purgatory: Nice orange text kain. Maybe it should be a shiny gold
Today at 06:03:40
leaf: I concur. There isn't much I'd consider worth salvaging from dc in terms of work done, but reading the old threads can be quite amusing
Today at 06:01:48
JamietheFlameUser: LOL I'm looking at the DCrisis Items/Equipment section. Role and I were both so immature about it (me especially) that it's hilarious in hindsight.
Today at 01:49:48
Knight of Purgatory: Then i think i'll take the entire shop, item and equipment section
Yesterday at 23:25:55
Teawater: @Kain: That's certainly nice to know. :)  Poetry time, I go.  Eventually, things will be in automation. As long as there's no procrastination. In the future, say hello to Mr. Name Charger. Don't worry, it's not a Danger. There'll also be Mr. Clan Swapper.  It might make people hyper..... (Or does the best refer to something else? Like the badge shop?)


Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.097 seconds with 25 queries.